class Solution {
public:
    vector<int> resultsArray(vector<int>& nums, int k) {
        int n = nums.size(), len = 0;
        vector<int> ret(n - k + 1, -1);
        for(int i = 0; i < n; i++)
        {
            len = (i == 0 || nums[i] == nums[i - 1] + 1) ? len + 1 : 1;
            if(len >= k)
                ret[i - k + 1] = nums[i];
        }
        return ret;


        // 循环次数多了一点，能AC，上面是简化一点的灵神的写法
        // int n = nums.size();
        // vector<int> dp(n, 1);
        // for(int i = 1; i < n; i++)
        // {
        //     if(nums[i] == nums[i - 1] + 1)
        //         dp[i] = dp[i - 1] + 1;
        // }

        // // vector<int> ret(n - k + 1, -1);
        // for(int i = k - 1; i < n; i++)
        // {
        //     if(dp[i] >= k)
        //         dp[i - k + 1] = nums[i];
        //     else
        //         dp[i - k + 1] = -1;
        // }
        // for(int i = 0; i < k - 1; i++)
        //     dp.pop_back();
        // return dp;
    }
};